import {defineStore} from "pinia" // 定义容器
export const useCommonStore = defineStore('common', {
    /**
     * 存储全局状态
     * 1.必须是箭头函数: 为了在服务器端渲染的时候避免交叉请求导致数据状态污染
     * 和 TS 类型推导
     */
    state: () => {
        return {
            isLogin: false,
            loginUser:{}
        }
    },
    /**
     * 用来封装计算属性 有缓存功能  类似于computed
     */
    getters: {},
    /**
     * 编辑业务逻辑  类似于methods
     */
    actions: {
        setLoginState(is){
            this.isLogin=is
        },
        setLoginUser(loginUser){
            this.loginUser=loginUser
        }
    },
    // 持久化设置
    persist: {
        enabled: true,	//开启
        storage: sessionStorage,	//修改存储位置
        key: 'common',	//设置存储的key,在这里是存在sessionStorage时的键
        paths: ['isLogin','loginUser'],//指定要长久化的字段
    },
})
